In January 2001, the Joint Photographic Experts Group (JPEG) committee approved a new digital still image standard known as JPEG2000. The JPEG2000 standard adds a number of new features that were not present in the existing JPEG standard, including better low bit-rate performance, both loss and lossless encoding in a single algorithm, precise single-pass rate control, embedded codestreams, and improved error resiliency. There are numerous applications for the JPEG2000 image encoding process, such as digital cameras, personal digital assistants (PDAs), transmission of images through the Internet, military surveillance systems, medical imaging systems, and the storage of motion sequences (e.g., digital cinema).
While the JPEG2000 standard specifies bitstream and file formats to ensure interoperability, the JPEG2000 standard leaves open the actual implementation of the image encoder. The major drawback of conventional JPEG2000 image encoders involves the implementation of bit/context modeling and arithmetic coding (entropy coding), which is referred to as “tier-1 coding”. Notably, the tier-1 coding process involves separating two-dimensional discrete wavelet transform (DWT) samples of an image into code blocks, modeling the bit-planes of the DWT coefficients within each code block independently, and performing arithmetic coding on the modeled bitstream. The bit-modeling process includes three coding passes for each bit-plane, with the exception of the most significant bit-plane, which requires only a single pass.
In conventional tier-1 coders, a bit modeler performs the three coding passes in succession on each bit-plane. In addition, the bit-modeler processes the code blocks one bit-plane at a time. Performing the three coding passes in succession results in approximately 14% of the clock cycles being stall states for the arithmetic coder. As such, the arithmetic coder becomes the “bottleneck” of the tier-1 coding process. In high bit-rate applications (e.g., real-time video processing) and low-power applications (e.g., wireless communication and handheld devices), the tier-1 coding process is computationally intensive and requires a significant amount of resources. As such, a bottleneck at the arithmetic coder is undesirable.
Therefore, there exists a need in the art for an efficient entropy coder that facilitates high bit-rate, low-power operation within an image encoder.